Uploaded image for project: 'Apache Arrow'
  1. Apache Arrow
  2. ARROW-6202

[Java] Exception in thread "main" org.apache.arrow.memory.OutOfMemoryException: Unable to allocate buffer of size 4 due to memory limit. Current allocation: 2147483646

    XMLWordPrintableJSON

Details

    Description

      jdbc query results exceed native heap when using generous -Xmx settings.

      for roughly 800 megabytes of csv/flatfile resultset, arrow is unable to house the contents in RAM long enough to persist to disk, without explicit knowledge beyond unit test sample code.

      source:
      https://github.com/jnorthrup/jdbc2json/blob/master/src/main/java/com/fnreport/QueryToFeather.kt#L83

      Exception in thread "main" org.apache.arrow.memory.OutOfMemoryException: Unable to allocate buffer of size 4 due to memory limit. Current allocation: 2147483646
              at org.apache.arrow.memory.BaseAllocator.buffer(BaseAllocator.java:307)
              at org.apache.arrow.memory.BaseAllocator.buffer(BaseAllocator.java:277)
              at org.apache.arrow.adapter.jdbc.JdbcToArrowUtils.updateVector(JdbcToArrowUtils.java:610)
              at org.apache.arrow.adapter.jdbc.JdbcToArrowUtils.jdbcToFieldVector(JdbcToArrowUtils.java:462)
              at org.apache.arrow.adapter.jdbc.JdbcToArrowUtils.jdbcToArrowVectors(JdbcToArrowUtils.java:396)
              at org.apache.arrow.adapter.jdbc.JdbcToArrow.sqlToArrow(JdbcToArrow.java:225)
              at org.apache.arrow.adapter.jdbc.JdbcToArrow.sqlToArrow(JdbcToArrow.java:187)
              at org.apache.arrow.adapter.jdbc.JdbcToArrow.sqlToArrow(JdbcToArrow.java:156)
              at com.fnreport.QueryToFeather$Companion.go(QueryToFeather.kt:83)
              at com.fnreport.QueryToFeather$Companion$main$1.invokeSuspend(QueryToFeather.kt:95)
              at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
              at kotlinx.coroutines.DispatchedTask.run(Dispatched.kt:241)
              at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:270)
              at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:79)
              at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:54)
              at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source)
              at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:36)
              at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source)
              at com.fnreport.QueryToFeather$Companion.main(QueryToFeather.kt:93)
              at com.fnreport.QueryToFeather.main(QueryToFeather.kt)
      

      Attachments

        Issue Links

          Activity

            People

              emkornfield@gmail.com Micah Kornfield
              jimn235 Jim Northrup
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 1h 40m
                  1h 40m